/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						 artifact_effect_type.h

	$Header: /heroes4/artifact_effect_type.h $

	$NoKeywords: $

 ************************************************************************/

#if !defined( ARTIFACT_EFFECT_TYPE_H_INCLUDED )
#define ARTIFACT_EFFECT_TYPE_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

// ----------------------------------------------------------------------
// enum defining what the given artifact ability affects
// ----------------------------------------------------------------------
enum t_artifact_target
{
	k_artifact_target_hero,
	k_artifact_target_enemy_creatures,
	k_artifact_target_enemy_heroes,
	k_artifact_target_friendly_creatures,
	k_artifact_target_friendly_heroes,
	k_artifact_target_everything,

	k_artifact_target_count
};

// ----------------------------------------------------------------------
// enum defining various artifact effects
// ----------------------------------------------------------------------
enum t_artifact_effect_type
{
	k_artifact_effect_none = -1,

	k_artifact_effect_adventure_movement,
	k_artifact_effect_aligned_bonus,
	k_artifact_effect_area,
	k_artifact_effect_block,
	k_artifact_effect_cast_spell,
	k_artifact_effect_combat_movement,
	k_artifact_effect_creature_discount,
	k_artifact_effect_creature_growth,
	k_artifact_effect_damage,
	k_artifact_effect_damage_bonus,
	k_artifact_effect_defense,
	k_artifact_effect_demonslayer,
	k_artifact_effect_extra_attack,
	k_artifact_effect_fragment,
	k_artifact_effect_giantslayer,
	k_artifact_effect_guardian,
	k_artifact_effect_health,
	k_artifact_effect_immunity,
	k_artifact_effect_income,
	k_artifact_effect_ignore_enemies,
	k_artifact_effect_learn_spell,
	k_artifact_effect_long_weapon,
	k_artifact_effect_luck,
	k_artifact_effect_magic_resistance,
	k_artifact_effect_mana,
	k_artifact_effect_mana_maximum,
	k_artifact_effect_mana_recharge,
	k_artifact_effect_morale,
	k_artifact_effect_negate_1st_strike,
	k_artifact_effect_negate_immunity,
	k_artifact_effect_negate_mind_immunity,
	k_artifact_effect_negate_protection,
	k_artifact_effect_no_melee_penalty,
	k_artifact_effect_no_range_penalty,
	k_artifact_effect_no_wall_penalty,
	k_artifact_effect_panic,
	k_artifact_effect_prohibits_retreat,
	k_artifact_effect_ranged_backstab,
	k_artifact_effect_scouting,
	k_artifact_effect_sea_bonus,
	k_artifact_effect_seamanship,
	k_artifact_effect_soul_stealer,
	k_artifact_effect_speed,
	k_artifact_effect_spell,
	k_artifact_effect_spell_book,
	k_artifact_effect_spell_bonus,
	k_artifact_effect_spell_charges,
	k_artifact_effect_spell_cost,
	k_artifact_effect_spell_protection,
	k_artifact_effect_spell_with_attack,
	k_artifact_effect_skill,
	k_artifact_effect_skill_bonus,
	k_artifact_effect_stunning_immunity,
	k_artifact_effect_tactics,
	k_artifact_effect_terrain_mastery,

	k_artifact_effect_weapon,
	k_artifact_effect_give_ability,

	k_artifact_effect_grail_building,

	k_artifact_effect_count,
};

bool is_legal( t_artifact_effect_type effect, t_artifact_target target );

#endif // ARTIFACT_EFFECT_TYPE_H_INCLUDED